﻿// 281. 硬币.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
//

#include <iostream>


/*

https://www.acwing.com/problem/content/283/
给定 N 种硬币，其中第 i 种硬币的面值为 Ai，共有 Ci 个。

从中选出若干个硬币，把面值相加，若结果为 S，则称“面值 S 能被拼成”。

求 1∼M 之间能被拼成的面值有多少个。

输入格式
输入包含多组测试用例。

每组测试用例第一行包含两个整数 N 和 M。

第二行包含 2N 个整数，分别表示 A1,A2,…,AN 和 C1,C2,…,CN。

当输入用例 N=0，M=0 时，表示输入终止，且该用例无需处理。

输出格式
每组用例输出一个结果，每个结果占一行。

数据范围
1≤N≤100,
1≤M≤105,
1≤Ai≤105,
1≤Ci≤1000
输入用例：
3 10
1 2 4 2 1 1
2 5
1 4 2 1
0 0
输出用例：
8
4
*/
int main()
{
    std::cout << "Hello World!\n";
}

 